www.gusucode.com > XerCMS 携云PHP企业建站程序 v2015PHP源码程序 > XerCMS 携云PHP企业建站程序 v2015/XerCMS_v20150724/XerCMS_v20150724/XerCMS/Services/admin/libs/model/XerCMS_model_templet.php
<?php /** * @name XERCMS * @author Arno <XerCMS@163.com> [QQ:1328013] * @version 1.0.0 * @link http://www.XerCMS.com */ !defined('XERCMS') && exit('Access Denied'); class Templet { static $html; static $table; static $upload = null; static $editor = false; static $model = null; static function header() { self::$html = '<!DOCTYPE html><html><head><meta charset="utf-8"><link rel="stylesheet" href="{xercms$G[urlpath]}Assets/styles/model.css"/>'."\r\n"; self::$html .= '<link rel="stylesheet" href="{xercms$G[urlpath]}Assets/uekit/theme/default.css"/>'."\r\n"; self::$html .= '<script src="{xercms$G[urlpath]}Assets/uekit/uekit-1.0.js" charset="utf-8"></script>'."\r\n"; self::$html .= '<script src="{xercms$G[urlpath]}Assets/Js/XerCMS.js" charset="utf-8"></script>'."\r\n"; self::$html .= '<script src="{xercms$G[urlpath]}Assets/Js/Model.js" charset="utf-8"></script></head><body>'."\r\n"; self::$html .= '<div class="XerCMS-FORM"><form action="{xercms$submitUrl}" method="post" id="XerCMS_FORM">'; self::$html .= self::container('标题','<input type="text" name="base[title]" _required="1" value="{xercms$data[title]}" size="95" />','',1); self::$html .= self::container('归类','<select name="base[column]" style="height:28px;">{xercms:array name="mc" index="key" data="val"}<option value="{xercms$key}" {XERCMS:if $key == $data[column]}selected{end:if}>{xercms$val[name]}</option>{end:array}</select> ','',1); self::$html .= self::container('属性','{xercms:extends file="flag" method="sVar" index="key" data="val"} <input type="radio" class="model-radio" name="base[flag]" {XERCMS:if $key == $data[flag]}checked="true"{end:if} value="{xercms$key}"> {xercms$val[name]} {end:extends}','',0); self::upload(); self::$html .= self::container('主图','<input type="text" id="base[image]" _required="0" class="model-upload-text" name="base[image]" value="{XERCMS$data[image]}"/><div id="base[image][upload]" class="model-upload"><embed type="application/x-shockwave-flash" wmode="transparent" height="36px" allowScriptAccess="always" quality="high" FlashVars="handler=image" name="uploader[image]" id="uploader[image]" src="{XERCMS$G[urlpath]}Assets/flash/upload.swf"></embed></div><script>upload["image"] = function(e) {switch(e){case \'select\':XerCMS.embed("uploader[image]").StartUpload(arguments[1],"{XERCMS$G[urlpath]}index.php?m=member&a=upfiles&id=2&format=json");break;case \'return\':var i = arguments[1];var path = arguments[2].upload.path;$("#base[image]").val(path);break;}};</script>','',0); if(isset(self::$model['category']) && self::$model['category'] == 1) { self::$html .= self::container('价格','<input type="text" name="shop[price]" _required="1" value="{xercms$data[price]}" size="95" />','',1); self::$html .= self::container('数量','<input type="text" name="shop[number]" _required="1" value="{xercms$data[number]}" size="95" />','',1); } } static function footer() { self::$html .= '<div class="XerCMS-Row"><input type="button" class="XerCMS-Submit" onclick="check();" id="XerCMS-Submit" value=" 保存 " /></div></form></div>'; self::$html .= '<script></script></body></html>'; } static function editor() { if(!self::$editor){ self::$editor = true; self::$html .= '<script type="text/javascript" charset="utf-8" src="{xercms$G[urlpath]}Assets/editor/ueditor.config.js"></script>'."\r\n"; self::$html .= '<script type="text/javascript" charset="utf-8" src="{xercms$G[urlpath]}Assets/editor/ueditor.all.min.js"> </script>'."\r\n"; } } static function upload() { if(self::$upload == null){ self::$upload = true; self::$html .= '<script type="text/javascript">var upload = new Array();</script>'."\r\n"; } } static function handle($struct) { foreach($struct as $k=>$field) { $box = ''; switch($field['type']) { case 'select': $box .= '<select name="model['.$field['name'].']">'; $field['data'] = explode("\n",$field['data']); foreach($field['data'] as $option) { $option = self::filter($option); $box .= '<option {xercms:if $data['.$field['name'].'] == \''.$option.'\'}selected="true"{end:if} value="'.$option.'">'.$option.'</option>'; } $box .= '</select>'; $box .= '<script>Model.select("'.$field['name'].'","{xercms$data['.$field['name'].']}");</script>'; self::$html .= self::container($field['comments'],$box,$field['tips'],$field['required']); break; case 'textarea': $box .= '<textarea _type="'.$field['type'].'" _required="'.$field['required'].'" name="model['.$field['name'].']">{xercms$data['.$field['name'].']}</textarea>'; self::$html .= self::container($field['comments'],$box,$field['tips'],$field['required']); break; case 'checkbox': $field['data'] = explode("\n",$field['data']);$box = '<input type="hidden" id="model['.$field['name'].']" name="model['.$field['name'].']" value="{xercms$data['.$field['name'].']}">'; foreach($field['data'] as $option) { $option = self::filter($option); $box .= '<div class="model-checkbox"><input class="model-checkbox-inner" name="model['.$field['name'].'][]" {XERCMS:if in_array(\''.$option.'\',$data[\''.$field['name'].'\'])}checked="true"{end:if} type="checkbox" value="'.$option.'"><span> '.$option.' </span></div>'; } //$box .= '<script>Model.checkbox("'.$field['name'].'","{xercms$data['.$field['name'].']}");</script>'; self::$html .= self::container($field['comments'],$box,$field['tips'],$field['required']); break; case 'radio': $field['data'] = explode("\n",$field['data']); foreach($field['data'] as $option) { $option = self::filter($option); $box .= '<input name="model['.$field['name'].']" type="radio" class="model-radio" {xercms:if $data['.$field['name'].'] == \''.$option.'\'}checked="true"{end:if} value="'.$option.'"><span> '.$option.' </span>'; } //$box .= '<script>Model.radio("'.$field['name'].'","{xercms$data['.$field['name'].']}");</script>'; self::$html .= self::container($field['comments'],$box,$field['tips'],$field['required']); break; case 'upload': self::upload(); $box = '<input type="text" id="model['.$field['name'].']" _required="'.$field['required'].'" class="model-upload-text" name="model['.$field['name'].']" value="{xercms$data['.$field['name'].']}"/>'."\r\n".' <div id="model['.$field['name'].'][upload]" class="model-upload">'."\r\n".'<embed type="application/x-shockwave-flash" wmode="transparent" height="36px" allowScriptAccess="always" quality="high" FlashVars="handler='.$field['name'].'" name="uploader['.$field['name'].']" id="uploader['.$field['name'].']" src="{xercms$G[urlpath]}Assets/flash/upload.swf"></embed>'."\r\n".'</div>'; $box .= '<script>upload["'.$field['name'].'"] = function(e) {switch(e){case \'select\':XerCMS.embed("uploader['.$field['name'].']").StartUpload(arguments[1],"{xercms$G[urlpath]}?m=member&a=upfiles&format=json&id='.(int)$field['data'].'");break;case \'return\':var i = arguments[1];var path = arguments[2].upload.path;$("#model['.$field['name'].']").val(path);break;}};</script>'; self::$html .= self::container($field['comments'],$box,$field['tips'],$field['required']); break; case 'html': self::editor(); $box = '<script id="model['.$field['name'].']" _required="'.$field['required'].'" type="text/plain" name="model['.$field['name'].']" style="width:600;height:300px;">{xercms$data['.$field['name'].']}</script><script>UE.getEditor(\'model['.$field['name'].']\');</script>'; $box .= '<script>Model.editor("model['.$field['name'].']","'.$field['upload'].'")</script>'; self::$html .= self::container($field['comments'],$box,$field['tips'],$field['required']); break; default: $box = '<input type="text" _required="'.$field['required'].'" _type="'.$field['type'].'" name="model['.$field['name'].']" value="{xercms$data['.$field['name'].']}"/>'; self::$html .= self::container($field['comments'],$box,$field['tips'],$field['required']); break; } } } static function container($comments,$box,$tips,$required = 0) { return '<div class="XerCMS-Row"><label class="required_'.$required.'">'.$comments.' : </label><div class="model-box">'.$box.'</div><div class="model-tips">'.$tips.'</div></div>'."\r\n"; } static function update($id,$data){ $model = DB::result('SELECT * FROM xercms_model WHERE id = '.$id); DB::update('xercms_model',array('template'=>$data),array('id'=>$id)); dfile('XerCMS/Data/archives/model/template/'.$model['table'].'.htm',stripcslashes($data)); } static function get($id) { $model = DB::result('SELECT * FROM xercms_model WHERE `id` = \''.$id.'\'');//print_r($model); return $model['template']; } static function Create($id) { self::$model = DB::result('SELECT * FROM xercms_model WHERE id = '.$id); self::$table = self::$model['table'];self::header(); if(!empty(self::$model['struct'])) { self::$model['struct'] = json_decode(self::$model['struct'],true);//dfile('debug.txt',var_export($model['struct'],true)); self::handle(self::$model['struct']); } self::footer(); if(!empty(self::$html)) { DB::update('xercms_model',array('template'=>addslashes(self::$html)),array('id'=>$id)); } dfile('XerCMS/Data/archives/model/template/'.self::$model['table'].'.htm',self::$html); } static function filter($str) { return strtr(trim($str),array('\''=>'','"'=>'','\\'=>'')); } } ?>